package com.xwj.exception.unified.asserts;

import com.xwj.exception.unified.exception.BusinessException;
import com.xwj.exception.unified.exception.base.BaseException;

import java.text.MessageFormat;

/**
 * 业务异常断言实现类，主要用于实现断言接口中的 newException 方法，并在方法中创建具体的业务异常
 */
public interface BusinessExceptionAssert extends ExceptionResponse, Assert {

    @Override
    default BaseException newException() {
        return new BusinessException(this);
    }

    @Override
    default BaseException newException(Object... args) {
        String msg = MessageFormat.format(this.getMessage(), args);
        return new BusinessException(this, msg);
    }

}
